专利摘要:
METHOD FOR CONFIGURING A DISTRIBUTED AIRCRAFT CONTROL SYSTEM. The present invention relates to a method for configuring simultaneous table-driven operations of a distributed avionics control system comprising a plurality of processing nodes (SI to S4) interconnected in a network (2). The method comprises the steps of providing a global timing metadata component (X4), a plurality of application metadata component (X51, X52), and a node assignment metadata component (X2). The method also comprises the steps of detecting data communication paths, detecting communication requirements, generating a system programming metadata component, generating system configuration data and providing the system configuration for the distributed avionics control system.
公开号:BR112013000184B1
申请号:R112013000184-4
申请日:2010-07-05
公开日:2020-11-24
发明作者:Torkel Danielsson;Anders Pettersson
申请人:Saab Ab;
IPC主号:
专利说明:

Technique Field
[001] The present invention relates to a method for controlling avionics.
[002] In addition, the invention relates to software adapted to perform steps of the control method when executed on a computer. Background of the Invention
[003] In today's embedded control systems, developments in digital technology have enabled complex functionality. However, as a direct result of the development, the need for additional system capacity provided by software and various components such as sensors, processors, display units, data buses and memory units is increasing.
[004] In addition to the implementation of greater functionality and interconnectivity in control systems, using less Space-Weight and Energy (SWaP) and a reduced number of cabling are also drivers. Upgrades of embedded hardware and software over the life of the product make adaptability and modularity another interesting design parameter. Other incentives include achieving cost-efficient development, production and maintenance, where a possible way forward is to implement Commercial-Off-The-Shelf (COTS) technology (a Federal Acquisition Regulation) instead of expensive specialized technology.
[005] Real-time systems for critical security control applications, in which typically desensor data (ores) are acquired, communicated and processed to provide a control signal to a trigger, place stringent demands on bandwidth, data, distribution time, redundancy, and integrity. Failure to meet one or more of these requirements can be dangerous in applications including "brake-by-wire" or "steer-by-wire".
[006] Such an area where reliable high-speed real-time execution and data communication are applicable is within avionics systems. Advances in technology during the late I960 and early 1970 made it necessary to share information between different avionic subsystems to reduce the number of Replaceable Line Units (LRU: s). A single sensor such as a position sensor provided information for weapon systems, display systems, autopilots and navigation systems.
[007] The high-level architecture of avionics systems has gone from separate federated meaning LRU: s to separate functions for Integrated Modular Avionics (IMA) meaning several functions integrated in LRU: s multifunctional. The connectivity that allows communication between different LRU: s has gone from low-bandwidth point-to-point connections to higher-bandwidth point-to-multipoint connections, such as, for example, switched Ethernet networks.
[008] The guidance established by the Radio Technical Commission for Aeronautics (RTCA) in DO-178B and RTCA DO-254 regulates how to design and develop software and respective hardware in a safe way to show airworthiness, according to a criticality scale. However, certification and subsequent software recertification in accordance with DO-178B represents a substantial cost of development software based on avionics control systems.
[009] To assist the development of modern avionics control systems a set of guidance documents such as RTCA DO-297 and Aeronautical Radio Inc. (ARINC) 651 define general concepts for IMA systems. The additional ARING 653 "Standard avionics application software interface" defines an Application Program Interface (API) referred to as Application Executive (APEX), implemented in Real-Time Operation Systems (RTOS) used for control systems. avionics. ARING 653 allows for the division of space and time that can be used whenever multiple applications need to share a single processor and memory resource, to ensure that one application cannot cause another in the event of an application failure.
[0010] The configuration of one or more ARINC 653 based on RTOS for avionics control systems is typically performed by manually entering a large number of data and configuration parameters. The configuration of an IMA system and associated applications may require a report that has thousands of lines. The data and configuration parameters dictate, for example, space and time division of data communication ports. Using the DO-297 notation, a number of different engineering teams such as hardware platform providers, software application developers and system integrators usually share the process of designing and configuring an avionics control system. It is a complex task to ensure correct configuration due to dependencies between multiple configuration data, associated with hardware and software. This is specifically the dog in the avionics control system that comprises a large number of software and hardware components. Modifications to the avionics control system performed by an engineering team can affect work already performed by other teams. The verification and validation of the configuration data is typically performed by an iterative procedure that comprises providing the configuration data for the avionics control system and subjecting the avionics control system to extensive testing procedures to ensure proper function. The result of the test procedure can result in an exact set of configuration data or a new set of configuration data to be supplied to the avionics control system for testing.
[0011] Document US 7,343,622 B1 describes multi-level multiprocessor computer architecture. The inventive architecture provides an inexpensive security solution for integrated avionics and includes a plurality of nodes. The nodes are connected via a switch in a network configuration over which data is routed through labels. The switch is controlled to facilitate secure data communication between nodes. Each node has a central processing unit. The system manager is implemented as a node and creates routing tables for selective connection of nodes through the switch.
[0012] Document US 2009/0005916 A1 describes a method and system for facilitating substantially continuous interface between individual component systems for sensor fusion, data exchange, and communication across a broad spectrum of component systems in a vehicle without implication updating hardware or software within individual legacy systems and / or sensors. A universal translator is provided to interface between the individual components of the system that exchange data in a continuous manner between those formed by legacy data and those formed by specific data advantageously employed by individual systems of newly installed, acquired components.
[0013] However, the change of centralized avionics control system in an attempt to reduce costs and increase modularity tends to decrease determinism and increase the complexity related to the system configuration.
[0014] Therefore, it is necessary for the avionics technique to present improved methods, with the intention of facilitating the configuration of the system and increasing adaptability and determinism. Purpose of the Invention
[0015] Therefore, it is an objective of the present invention to provide a method and a computer program that executes said method, that facilitates the configuration and increases the adaptability and determinism with respect to traffic and data processing in a distributed avionics system. . Summary of the Invention
[0016] This objective is achieved according to the present invention by a method for configuring synchronous table-based operations of a distributed avionics control system comprising a plurality of processing nodes interconnected in a network, in which the PC of nodes of processing is willing to run multiple applications. The method comprises the steps of providing a global time configuration file, said global time configuration file comprising information from a set of predetermined periodic repetition processing periods, and a plurality of communication time slots; providing a plurality of application configuration files, said plurality of application configuration files comprising association of information for each of the plurality of applications in at least one processing subcomponent, wherein the at least one processing subcomponent is associated with at least one data unit to be periodically imported into at least one processing subcomponent or exported from at least one processing subcomponent and a processing period from the set of predetermined repetition processing periods; providing a node assignment configuration file, said node assignment configuration file comprising assigning information identification from each plurality of applications to the plurality of processing nodes; detect data communication paths, based on information from the node assignment configuration file and the plurality of application configuration files, detect communication requirements, associated with delay restrictions along the communication paths, based on information the plurality of application configuration files, generate a system programming configuration file, by allocating for the plurality of communication time slots, communication of at least one data message, comprising at least one data unit to be periodically exported by at least one processing subcomponent associated with each plurality of applications, based on the information of the detected communication requirements, to generate system configuration data based on the information from the system programming configuration file, said generation comprising providing tables associated with each plurality of system nodes, each ta beautiful system comprising a network communication schedule and providing the system configuration for the distributed avionics control system.
[0017] It is achieved that the application developer, the platform provider and the system integrator can perform work without depending on each other because the actual configuration is abstracted for several configuration files and thus also the applications are disassociated from each other. others and the development for the target system, that is, the development for the distributed avionics control system. System modifications can be made without changing the behavior of the applications or source code associated with the applications.
[0018] It is also achieved that the configuration of interactions between applications distributed on the target system can be facilitated because the communication configuration data in accordance with the communication requirements are generated automatically based on the configuration files. In this way, the need to test and validate configuration data is reduced because the configuration ensures periodic deterministic connectivity between applications before the system works based on the configuration that provides periodic application execution. The method is an option also characterized by the fact that the step of detecting the data communication paths comprises processing the node assignment configuration file and the plurality of application configuration files in order to detect a plurality of communication paths performed between at least one first processing subcomponent, associated with at least one data unit, to be periodically exported and at least a second processing subcomponent associated with the application other than said first processing subcomponent, wherein said at least first data unit is intended to be periodically imported into said at least second processing subcomponent.
[0019] In one option, the method is also characterized by the fact that the step of detecting communication requirements comprises processing information related to the processing period associated with the processing subcomponents, formation of data communication paths, in order to detecting a periodic communication window for at least one data message comprising at least one data unit to be exported periodically along each plurality of detected communication paths.
[0020] In one option, the method is also characterized by the fact that the step of providing a plurality of application configuration files also comprises providing information on the processing of the worst case time associated with each of at least one processing subcomponent and wherein the step of providing a node assignment configuration file also comprises the steps of providing information identifying at least one division assigned to each of the plurality of processing nodes and assigning each of the plurality of applications to one of the at least one division .
[0021] In one option, the method is also characterized by the fact that periodically predetermined repetition processing periods comprise a periodically fundamental repetition processing period and integer multiple of the periodically fundamental repetition processing period.
[0022] In one option, the method is also characterized by the additional step of detecting a split processing time structure for each of the at least one split associated with each of the plurality of processing nodes, based on the processing of the processing time of the worst case of processing subcomponents, associated via application configuration files for at least one division, where the division processing time structure statically defines a start and stop time within each repetition processing period periodically fundamental and in which the processing subcomponents are arranged to be processed in a monotonic rate order within the associated division.
[0023] In one option, the method is also characterized by the fact that the step of generating a system programming configuration file comprises processing the periodic communication window along each of the plurality of detected communication paths, to allocate statistically to at least one data message for at least one of the plurality of communication time slots, over a main repetition processing period defined by the least common multiple of the set of periodically predetermined repetition processing periods, based on the time of repetition. stopping the splitting period and processing the at least first processing subcomponent with the at least first data unit to be exported periodically and any time to start dividing the at least second processing subcomponent having said first associated data units to be imported or the split start time in a repeat processing period periodically fundamental replacement of at least the first processing subcomponent.
[0024] In one option, the method is also characterized in the additional step of providing a system hardware topology configuration file, comprising information that identifies the processing nodes and network connections between said processing nodes and in which the communication path data detection step also comprises processing the system hardware topology configuration file to generate routing data for each of the detected communication paths.
[0025] In one option, the method is also characterized in the additional step of providing at least one data message configuration file, said at least one data message configuration file comprising information that identifies at least one data message and an associated number of data message subcomponents, each associated via the plurality of application configuration file for one of at least one data unit to be exported or imported periodically, associated with at least one processing subcomponent; and wherein the at least one message configuration file also comprises information that identifies a data type associated with each of the number of data message subcomponents.
[0026] In one option, the method is also characterized in the additional step of detecting a data message bit size for each of at least one data message, based on the processing of at least one message configuration file; and where the step of generating a system programming configuration file is also based on the detected data message bit size for each of at least one data message.
[0027] In one option, the method is also characterized by the additional step of determining format conversion data, based on the processing of at least one data message configuration file and the data bit size detected for each of the at least one data message and where the step of generating a system configuration is also based on the format conversion data detected in order to provide format conversion instructions related to the packaging and / or unpacking of at least one data message.
[0028] In one option, the method is also characterized by the additional step of adding an extra bit code size to the detected bit size of the data messages before performing the step of generating a system programming configuration file and in which the modification of a parameter of one of the plurality of application metadata components after having performed the step of generating a system programming metadata component takes an additional unit of data to be imported by at least one processing subcomponent without perform a renewed step of generating a system programming metadata component.
[0029] The objective is also achieved by a computer program that comprises a program code to perform the method steps described above, when said computer program is running on a computer.
[0030] This objective is achieved by a computer program product that comprises a program code stored in a computer-readable medium to perform the method steps described above, when said computer program is running on the computer.
[0031] This objective is also achieved by a computer program product directly storable in a computer's internal memory, comprising a computer program to perform the method steps described above, when said computer program is running on the computer. Brief Description of Drawings
[0032] Figure 1 schematically illustrates an avionic system distributed according to an example of the invention.
[0033] Figure 2 schematically illustrates the distributed avionics system integrated with the components of an air vehicle according to an example of the invention.
[0034] Figure 3 is a schematic block diagram of hardware components of the avionic system distributed according to an example of the invention.
[0035] Figure 4 illustrates a schematic representation of the hardware and software components according to an example of the invention.
[0036] Figure 5 illustrates a schematic representation of a portion of the software architecture in more detail.
[0037] Figure 6 illustrates a schematic illustration of an execution schedule according to an example of the invention.
[0038] Figure 7 illustrates a schematic illustration of relationships between configuration files associated with hardware and software according to an example of the invention.
[0039] Figure 8 illustrates a schematic illustration of a set of operational tools for providing and processing configuration files according to an example of the invention.
[0040] Figure 9 illustrates a schematic illustration of a communication time window according to an example of the invention.
[0041] Figure 10 illustrates a schematic illustration of a flowchart for a method for generating configuration data according to an example of the invention. Detailed Description
[0042] The following examples refer to the case where the distributed control system is described with reference to aerial vehicles. However, a number of different applications are possible, for example, for use in land, sea or space vehicles.
[0043] Referring to the drawings, and initially to figure 1, there is illustrated a distributed avionics computer system to be configured according to an example of the present invention. The distributed avionics control computer system may comprise a plurality of interconnected avionics computers S1 to S4 arranged to be assembled at various locations in an air vehicle 1 and act as controller of at least one or a set of subsystems of an air vehicle 1, such as acting as a controller for a fuel injection or hydraulic system for an aileron.
[0044] Figure 2 illustrates an alternative view of the distributed avionics computer system to be configured, seen as integrated systems / components of an aerial vehicle 1. The AVS avionics subsystem set can comprise systems such as, for example, example, ailerons, fuel injection flaps and payload. The distributed avionics computer system may comprise at least one computer node S1 through S4, such as a general purpose computer arranged as a flight control computer (FCC) and / or mission control computer (MCC), arranged for be in communicative connection with several AVS avionics subsystems and additional systems and / or components such as SENS sensors, ACT actuators and one or more control stations. SENS sensors can provide information related to the properties of several AVS avionics subsystems and an ENV operating environment surrounding the air vehicle 1.A one or more control stations can provide information related to the interactions of one or more air vehicle operators 1 The distributed avionics computing system can be arranged to process the information provided from one or more of the SENS sensors and / or control stations, to provide control data for the one or more ACT actuators and / or presentation data for the control stations. The distributed avionics computing system can be coupled with at least one legacy LE avionics processing component, such as, for example, a legacy LRU arranged as a radar processing unit, arranged to be in communicative connection with various avionics systems AVS and additional systems and / or components such as SENS, ACT actuators and one or more control stations.
[0045] With reference to figure 3 the hardware configuration 35 of one of the plurality of S1 computers to be configured is illustrated according to an example of the invention. Each of the plurality of computers S1 to S4, hereinafter referred to as nodes S1 to S4, can comprise at least one processor 4, memory 3, hardware clock (not shown), power supply (not shown), bus interface 6 and interface I / O (input / output) 5. The I / O interface 5 can be arranged to provide access to system peripherals, for example, devices coupled to the respective node through VME, PCIe or similar. The distributed system may also comprise at least one network 2, such as, for example, a switched Ethernet network, operatively connecting nodes S1 to S4, thereby enabling the exchange of data messages between the nodes.
[0046] Access to the network can be provided by the respective bus interface 6 which can be arranged to post data message to and / or retrieve data from network 2 according to predetermined instructions. This bus interface can also be arranged to provide access via one or more additional connections to other devices such as remote data concentrations (RDC: s), sensors and / or drivers. The one or more connections to other devices can be point-to-point connections such as RS-422 or bus-type connections such as MIL-STD-1553, IEEE 1394, or another similar type of connection known in the art.
[0047] In figure 4 the configuration related to the height level architecture of each of the plurality of S1 computers to be configured is illustrated according to an example of the invention. Each node S1 to S4 may in addition to the hardware described above 35 with reference to figure 2 comprise a hardware interface system 30, arranged by means of a set of interface drivers to provide access to specific hardware such as memory 3 and the clock. hardware. Each node S1 to S4 can also comprise an operating system 25 such as an RTOS real-time operating system. The operating system can be arranged to provide a number of services for a set of applications. The number of services can relate to communication, programming, memory management, time and health monitoring, such as providing local system time and timing services. When providing services, the operating system may be willing to interact with hardware 35 via hardware interface system 30. Each node S1 to S4 may also comprise a configuration data module (CDM) 40. The data module The configuration module can be arranged in operative connection with the operating system 25 and the hardware interface system 30 to provide information stored within the configuration data module related to the specific configuration of memory access, programming and communication. As an example, the configuration data module can be arranged to provide RTOS with initialization parameters associated with execution, timing and memory configuration.
[0048] Each application of the set of applications to be configured and developed for the distributed avionics computer system can comprise one or more tasks, also referred to as processes. Each of one or more tasks can indicate a logical computing unit with a single chain of control. As an example, an application can be arranged to process sensor readings and control commands provided by an operator through one or more control laws, to continuously provide a control signal to a trigger, such as a trigger associated with a aileron.As an example, one of the tasks can be configured to perform a derivative operation on a first data variable retrieved from a sensor at time t. As an additional example of the tasks that can be configured to perform computation at time t + 1 to provide a second data variable related to an object's speed at time tet +1 given a first data variable associated with the object's acceleration at tet time + 1.
[0049] In an example, each node S1 to S4 can be arranged to run an operating system in real time split RTOS, compatible with ARING 653, to allow spatial and temporal division of the set of applications included in a modular avionics division module integrated IMA 15. With reference to figure 5, the IMA 15 division module can comprise one or more divided applications such as, for example, a first application 51, a second application 52 and a third application 61. Each application can be divided into the IMA module 15 in one or more divisions such as, for example, a first division 50 associated with the first application 50 and the second application 52 and a second division 61 associated with the third application 61. Each of the applications 51-52 and 61 can also understand one or more tasks. As an example, a first task 53 can be associated with the first application 51, a second task 55 and a third task 56 can be associated with the second application 52 and a fourth task 62 and fifth task 63 can be associated with the third application 61. The one or more nodes S1 to S4 may also comprise an abstraction layer provided by an application programming interface (API) 20 located between software application in the IMA split module and the OS operating system.
[0050] The application programming interface 20 can be arranged to provide a set of basic services for the set of applications required to carry out their respective tasks and to communicate.
[0051] In one example the API can be arranged in an executive APEX application, in accordance with ARI NC 653 specifications. The implementation of ARINC 653 specifications, for high-level IMA architecture prevents error propagation when running different applications in a single processor. The division makes it possible to run certified applications for critically different levels measured by the Design Guarantee Level (DAL) according to RTCA DO-178B on a single processor.
[0052] In figure 6 an execution schedule 100 of divisions associated with one of the nodes is illustrated according to an example of the invention. The processing resources of processor 4 on each of the nodes S1 through S4 can be divided by configuration into a set of secondary runtime structures 125 also referred to as secondary processing time structures. Each of the secondary runtime structures 125 can be arranged to be periodic, that is, recurring periodically at defined times for a period. Each of the one or more divisions allocated in the IMA division module 15 at each of the respective nodes can be provided with at least one runtime structure, such as, for example, a first runtime structure 120 associated with the first division 50 , providing the exclusive overflow division for processing resources 4 of the respective allocated mode S1 for the given at least one runtime structure 120. One or more runtime structures may comprise one or more runtime structures associated with the divisions, such as, for example, a first runtime structure 120 associated with the first division 50 and a second runtime structure 121 associated with the second division 60. A main runtime structure 110 can determine the cycle of intrinsic repetition of programming defined by one or more secondary runtime structures 125 on each of nodes S1 to S4.
[0053] In one example, each of the divisions associated with the respective node can receive a time frame each from a division schedule, determining the order and runtime structure to process the divisions within each secondary processing structure 125.
[0054] Execution schedule 100 can be used by operating system 25 to determine when to perform context switching between different divisions and tasks associated with different divisions by means of clock interrupts provided by hardware 35. For example, execution 100 can determine when to perform context switching between first division 50 and second division 60 and their associated tasks 53, 66 to 56, 62, 63.
[0055] It should be understood that the configuration related to the number of applications, tasks, and divisions thus also the execution structures may differ from the example illustrated with reference to figure 6.
[0056] The determination of the execution schedule 100 for each of the nodes S1 to S4 can be carried out by considering the computational requirements of the applications and their one or more associated tasks with respect to the resources provided by the nodes S1 to S4.
[0057] During the execution time for the specific division of one or more divisions, the tasks associated with the specific division can be performed as a priority. Each task can be assigned a task frequency or period, relating to subsequent executions also referred to as task invocations.
[0058] In one example, each of the tasks of the distributed avionics computing system can be arranged to perform periodically. To periodically execute the release time, referring to when a task can start executing, it can be triggered on a regular basis, that is, on a cyclical basis, such as triggered by timer services provided by the operation system. Each task can then be defined by a set of properties associated with timing, including a time period T defining the time interval between successive release of tasks, a completion time (CT) defining the time when the task completes its execution, a fatal deadline (D) defining the last moment when the task must complete its execution and a worst case execution time (WCET) defining the time necessary to execute the task without interruption. To determine the WCET for each specific task, a series of requirements or measurements or static timing analysis can be performed. Assigning each task with project parameters related to the fatal deadline D and the task period T, according to the conditions below, a practicable periodic task schedule can be achieved.

[0059] U indicates the processor utilization parameter of the processor assigned to perform the set of tasks as indicated by index i, and n indicates the total number of tasks assigned to the processor resource. As an example, a value computed with respect to U that is equal to 1, corresponds to 100 percent processor usage.
[0060] In one example, the order of execution of one or more tasks during the runtime structure allocated to the division can be programmed by a priority based on the preemptive scheduler as programmed for the decrease process frequency, that is, the tasks in each division are performed on a monotonic rate (RM) priority basis.
[0061] In one example, the order of execution of one or more tasks during the runtime structure allocated to the division can be scheduled based on a monotonic deadline (DM), that is, the tasks are scheduled to increase the deadline for completing tasks.
[0062] The priority-based preference programmer may be willing to interrupt task execution, when part of the high priority task needs to be performed and continues later. In a case where multiple tasks being assigned to the same division are assigned with the same update frequency, the first in, first out order (FIFO) can be used to determine internal order of execution. Therefore, the execution of applications on each local node can be arranged to be controlled by a two-level programmer. The first level programmer is arranged to program preemption of the local divisions determined from the predetermined runtime structures for each of the divisions that reside in the IMA 15 division module of the respective local node S1 to S4. To determine the order in which divisions are executed, predetermined static priorities can be assigned to divisions before the system runtime. The second level programmer is willing to schedule one or more tasks within each of the divisions on a preemptive priority basis during the predetermined runtime structure for the division.
[0063] As an additional reference example the first division 50 can be allocated to a first node 51 and assigned with a first runtime structure 121 of, for example, 10 ms and with a period of 25 ms corresponding to a repetition, that is, update frequency of 40 Hz. The first task 53, the second task 55 and the third task 56 can be associated with the first division 50. The first and second tasks can be assigned with a task frequency of 40 Hz and the third task can be assigned with a task frequency of 20 Hz. Second division 60 can be allocated to node S1 and assigned with the second runtime structure 120 of, for example, 12 ms and with a period of 25 ms corresponding to one repetition, that is, update frequency of 40 Hz.
[0064] The fourth task 62 and the fifth task 63 associated with the second division 60 can be assigned a task frequency of 40 Hz and 20 Hz, respectively. Therefore, the examples from the first task 53 and the second task 55 are executed once every 25 ms of time, the examples from the third task 56 are executed once every 50 ms of time. The examples from the fourth task 62 are executed once every 25 ms of time and the examples from the fifth task 63 are executed once every 50 ms of time. The main time period 110 for scheduling can then be determined to be the least common multiple of the execution time period for each of the associated tasks for each of nodes S1 to S4, such as, for example, the least common multiple of 25 ms and 50 ms corresponding to 50 ms, which is the time after the sequence of execution of task examples, that is, the programming can be repeated cyclically. It should be noted that one or more task examples, such as the example of the third task 56 and the fifth task 63 can be anticipated during a first execution of its associated divisions 50, 60 and later be resumed during a subsequent execution of its associated division 50, 60. The third task 56 can, for example, be anticipated depending on whether the CT of the third task 56 together with the CT of one or more tasks that reside in the same division such as, for example, the CT of the first task 53 and second task 55 exceeding the time allotted for the respective division 50.
[0065] In one example, the frequency of task processing can be configured to be selected from a harmonic set of frequencies with corresponding periods such as, for example, the set of frequencies comprising 40 Hz, 20 Hz, 10 Hz and 5 Hz. The frequency of task processing can be selected based on the respective task requirements for frequent run time.
[0066] In one example, the set of task processing frequencies is provided as a set of overall system processing frequencies. Therefore, all tasks distributed through the distributed system of interconnected nodes S1 to S4 can be assigned with a task processing frequency each, selected from the determined global task processing frequencies. Therefore, tasks distributed to one or more nodes S1 to S4 are assigned with a processing frequency and / or processing period time, determined from the set of global processing period frequencies.
[0067] In one example, the task processing frequency for each specific task can be selected based on the frequency of updating the input data or the frequency with which the subsequent input data changes its parameter value.
[0068] In one example, the frequency of task processing for each specific task can be selected based on the frequency of the requirement of process output data by other parts of the system.
[0069] In one example, the frequency of task processing for each specific task can be selected based on a combination of the frequency of updating input data or the subsequent frequency with which the input data changes significantly in its parameter value and / or the frequency with which process output data is required by other parts of the system.
[0070] In one example, the information to be provided for the configuration of data module 40 associated with each of the nodes from S1 to S4 can be constructed and / or managed using a set of configuration files. The set of configuration files can provide various elements in the distributed avionics computer system with configuration information related to programming, memory access and communication. The set of configuration files can, for example, provide information for the OS operating system and / or hardware interfaces and / or other components of the respective system nodes S1 to S4. The construction of the configuration file set can be performed in several ways using different ways. Configuration files can, for example, be in the form of some programming language data declarations, in general form of markup language such as, for example, in Extensible Markup Language (XML), or in some proprietary format based on in text.
[0071] In one example, the set of configuration files can be built using model-based development tools.
[0072] In one example, a first subset of configuration files can be generated automatically based on a second subset of the configuration file set.
[0073] The configuration data of the configuration files associated with the division of the application set and other attributes related to OS can be later linked to and compiled with source code associated, for example, to the application set to provide executable files in readable format per machine.
[0074] In one example, the configuration files can be compiled to binary format using a certified compiler RTCADO-178B.
[0075] In one example, a subset of the configuration file set can be associated with an ARINC 653 implementation associated with each of the nodes S1 to S4. The subset of configuration files can describe the characteristics of rooms, their interactions, and their time and resource requirements. After the subset of configuration files are loaded and processed, the ARINC 653-based RTOS associated with each of the S1 through S4 nodes can provide behavioral ARINC 653 support by allocating memory to system divisions, creating memory protection structures, and allocating other resource systems.
[0076] In an example of the present invention with reference to figure 7, configuration data can be constructed using a set of configuration files comprising a number of subsets of configuration files. Each subset of the configuration file associated with one of the group comprising system hardware topology, software topology, data messages, system timing, and applications.
[0077] The one or more configuration file X51, X52 associated with the applications can receive information identifying each set of applications and one or more tasks associated with the respective application. The one or more configuration files X51, X52 associated with the applications can be provided with information identifying the processing frequency or processing period associated with each one or more tasks. The one or more configuration files X51, X52 associated with the application configuration can be provided with information associating a number of M1, M2 data messages to each application or each or more associated tasks. The one or more configuration files X51, X52 associated with the application configuration can be provided with information associating one or more data messages that the application or one or more associated tasks is configured to import or export. The one or more configuration files X51, X52 associated with the application can be provided with information indicating which or which data variable must be extracted for the application or tasks from one or more data messages configured to be imported by each application or task and which or which data variable should be inserted in one or more data messages configured to be exported from each application or task.
[0078] In an example the one or more configuration file X51, X52 associated with applications can be provided with information identifying a WCET associated with each of the tasks.
[0079] The one or more configuration file X31, X32 associated with the data messages can be provided with information related to the identification of one or more data variables is understood by which each data message.
[0080] In one example the one or more X31, X32 configuration file associated with the data messages can be provided with information related to a data type associated with each of the specific data variables. The data type associated with each of the specific data variables can, for example, be Signed Integer or String followed by a data declaration associated with word size. As an example, a first M1 data message associated with the positioning data can comprise a first data variable associated with the current position and a second data variable associated with the last position.
[0081] As an example, a first configuration fileX51 associated with the application configuration of the first application 51, identifies the first application 51, the first task 53 associated with the first application 51 and the first Ml data message identified through a first application file. X31 configuration associated with the data messages that the first application 51 is configured to import or export and a second M2 data message identified via a first X32 configuration file associated with the data messages that the first application 51 is configured to import and import. A second configuration file X52 associated with the application configuration of a second application 52 identifies the second application 52, the second task 55 and third task 56 associated with the second application 52 and the first M1 data message identified via a first application file. configuration X31 associated with the data messages that the second application 52 is configured to import and export the second M2 data message identified through the first X32 configuration file associated with the data messages that the second application 52 is configured to import and export.
[0082] The one or more XI configuration file associated with the hardware topology can be provided with information related to the identification and information of specific hardware resource associated with the distributed avionics computer system. The one or more XI configuration file associated with the hardware topology can, for example, provide information associated with available processors, data switches, data hubs and physical connections such as, for example, PCI, PCIe, IDE, Ethernet, IEEE 1394 or MIL-STD-1553 connecting each specific system hardware to other specific hardware in the distributed avionics computer system. As an example, a first X1 configuration file associated with the hardware topology can be provided of information identifying a first node S1, a second node S2 and a third node S3 interconnected on a network 2.
[0083] The one or more X4 configuration files associated with system timing can be provided with information related to the task processing frequencies associated with the tasks of each application in the set of applications and the protocol associated with at least one network 2. The protocol associated with at least one network 2 can in one example be a periodically repeating time division multiple access (TDMA) protocol for a switched Ethernet-based network, specifying a number of communication time slots with related associated properties a, for example, duration of each time slot, time slot and deadband synchronization configuration also referred to as inter-communication interval time slots.
[0084] In an example of the one or more X4 configuration file associated with the system timing, it can be provided with information associated with an overall fundamental processing frequency or period also referred to as the mirror processing structure 125.
[0085] In one example the one or more X4 configuration file associated with the system timing can be provided with information related to the processing frequencies of the global task or periods that form a set of frequencies or harmonic periods. As a result, each of the overall processing frequencies forms the positive integer multiples of the secondary processing structure 125.
[0086] In one example the one or more X4 configuration file associated with the system timing may be provided with information on a mirror communication bus period comprising a predetermined number of the plurality of communication time slots, each of a predetermined duration . The duration of the mirror communication bus period is equal to the secondary processing time structure 125, that is, the total duration of the predetermined number of communication time slots in the secondary bus period corresponds to the duration of the secondary processing structure 125 .
[0087] The one or more X2 configuration file associated with the software topology can be provided with information related to the development identification of each set of applications, that is, a number of divisions associated with each of the nodes S1 to S4 and identifying the division of the number of divisions in which each application of the application set must be received. As an example, a first X2 configuration file associated with the software topology may identify that a first S1 node defined in the one or more XI configuration file associated with the hardware topology comprises a first division 50 and second division 60, a second S2 node comprises a third division 70 and a third node S3 comprises a fourth division 80. The first configuration file X2 associated with the software topology can also identify that the first application 51 defined in the one or more configuration file X51 associated with the hardware topology must be received in the first division 50 and that the second application 52 defined in the one or more configuration file X52 associated with the hardware topology must be received in the third division 70.
[0088] In one example, the one or more X2 configuration file associated with the software topology can be provided with information associated with the internal programming of the division context. The information associated with the internal programming of the division context can define monotonic rate programming of the tasks associated with each division.
[0089] In one example, the one or more X2 configuration file associated with the software topology can be provided with information associated with a static local processing order of the divisions associated with each of the nodes S1 to S4. The local processing order of the divisions associated with each node S1 to S4 can determine the order in which to process each of the divisions on each node S1 to S4 within one or more secondary repetition processing structure 125.
[0090] In an example with reference to figure 8 each of the configuration files X1, X2, X31, X32, X4 and X51, X52 can be used as input data for a set of operational tools. The set of operational tools can be arranged to process information extracted from one or more of each configuration file X1, X2, X31, X32, X4 and X51, X52 in order to automatically provide additional configuration data related, for example, to connectivity between the set of applications.
[0091] Operational tools can in one example be implemented as software operation in a computer environment separate from the distributed avionics computer system.
[0092] The set of operational tools can, in an example, comprise a configuration file module to supply the X1, X2, X31, X32, X4 and X51, X52 files. The configuration module 210 can be coupled to a display unit 215 to provide a visual representation such as, for example, a tree structure or a model scheme representative of the configuration of the distributed avionics computer system, based on the configuration files provided X1, X2, X31, X32, X4 and X51, X52. The set of operational tools may comprise a configuration data entry module 220 coupled to the configuration file module 210 to enable import and / or export operations associated with the configuration files. The set of operational tools may comprise a user input module 225 coupled to the configuration file module 210, such as, for example, a keyboard and / or mouse to provide a means to manipulate configuration files for a user, for example , being assigned a role of system integrator.
[0093] The configuration file module 210 can be arranged to transfer configuration files to a series of additional modules associated with the set of operational tools. Configuration files can be transferred automatically or by user command.
[0094] The number of additional modules may comprise a message module 235 arranged to process the one or more configuration files X31, X32 associated with the data messages transferred from the configuration file module 210 to provide and / or register a number of data bit sizes, representative of a data bit size of each of the M1, M2 data messages. Message module 235 can, for example, process the one or more X31, X32 configuration files associated with the data messages based on the sum of the data variables with the associated data types to provide data bit size for each of the data messages.
[0095] In one example, message module 235 may be arranged to add an extra code data bit size for at least one of the supplied data bit sizes associated with each of the data messages. The extra code parameter can be a predetermined data bit size. In one example, the number of additional modules may comprise a path detection module 231 arranged to detect communication paths between each of the tasks arranged to augment data messages using at least one network 2. The path detection module 231 can be arranged to detect communication paths based on the identification of remote connections, that is, the connections between tasks associated with applications allocated to different nodes S1, S4, in which tasks are arranged to exchange data messages.
[0096] In one example, the configuration data module 231 can process the one or more configuration file X2 associated with the software topology to provide hosting information identifying the node S1, S4 in which each of the applications with associated tasks is arranged to be hosted. Remote connections can be detected by processing hosting information and information extracted from one or more configuration files X51, X52 associated with related applications for which data message and / or task application is configured to import or export. As an example, the configuration data module 231 can detect a first communication path between at least one first application in the set of applications with at least one associated task arranged to import at least one data variable to be exported from at least one of tasks associated with at least a second application hosted on a different node S1 to S4 than said first application.
[0097] In one example, the configuration data module 231 can be arranged to detect communication paths between tasks arranged to exchange data using at least one network and to store information related to each communication path. The information related to each communication path can comprise the processing period or frequency associated with the tasks defining the communication path and a source, that is, a task prepared to export at least one data variable and one or more destinations, that is, information identifying at least one task arranged to import at least one data variable and one or more locations representative of which of the nodes at least one associated application is arranged to be hosted.
[0098] In one example, the information related to the detected communication paths can comprise information that identifies a physical route for each communication path. The physical route may, for example, comprise one or more switches and data links associated with at least one network 2, identified via the media access control (MAC) addresses associated with each node S1 to S4 and / or elements additional coupled to at least one network 2.
[0099] In one example, the information related to the detected communication paths may comprise identifying the divisions associated with the applications with associated tasks to exchange data messages about network 2 and / or ARINC 653 ports such as sample and / or queue ports associated with each of the divisions.
[00100] In an example with reference to figure 9, the number of additional modules may comprise a communication requirement detection module 232 arranged to process the information provided from the path detection module 231 associated with the processing period or processing frequency associated with the tasks involved in the data exchange variables, in order to detect at least one CW1-CW2 communication time window along each of the detected communication paths. The at least one communication time window communicates information related to at least one first time case representative of when at least one first data variable is computed and ready to export as a result of at least one first invocation of at least the first task and at least a second case of time representing when the at least first data variable is required to be imported to be processed as a result of an invocation associated with at least one task associated with an application hosted on a different node S1 through S4.
[00101] It should be noted that several communication windows can be detected along each of the communication paths, based on the task processing period defining the source, the processing period of at least one task defining the destination and the period main processing unit 110.
[00102] In one example, the communication requirement detection module 232 may be arranged to detect main processing period 110 based on the least common multiple (LCM) of the task processing periods extracted through one or more configuration X4 associated with system timing.
[00103] In one example, the communication requirement detection module 232 can be arranged to detect a number of communication windows that occur periodically for each detected communication path based on the detected main processing period 110 and the processing period associated with the task that defines the source of the communication path. For example, the communication requirement detection module 232 can detect the number of communication windows that occur periodically for each detected communication path to be equal to the processing period associated with the task that defines the communication path source divided with the main processing period 110.
[00104] In one example, the first time case and the second time case can be detected by the communication requirement detection module 232, based on the WCET related processing information associated with the tasks and information related to the order and processing of the orders. divisions. The WCET-related information associated with the tasks can be extracted from one or more configuration files X51, X52 associated with the applications. The information related to the processing order of the divisions can be extracted from one or more X2 configuration files associated with the software topology.
[00105] In one example, the communication requirement detection module 232 can detect the runtime structure for each of the divisions based on computing the sum of the WCET for each of the tasks associated with each of one or more applications that are associated with each of the divisions. The start point and end point within each mirror processing structure 125 for each runtime structure of each of the divisions can then be detected by the communication requirement module 232 based on the processing of the divisions processing order. associated with each of the nodes S1 to S4 and the detected runtime structure of each of the divisions associated with each of the nodes S1 to S4.
[00106] The first time case also referred to as a start point for each of the communication windows can be detected by the communication requirement detection module 232, based on the identification of the start point of each communication window, the point of completion of the runtime structure detected for the division associated with the task defining the source of each of the communication paths.
[00107] The second time case also referred to as the end point of each communication window can be detected by the communication requirement detection module 232, based on the identification as the end point of each communication window the starting point of the runtime structure detected for at least one division associated with at least one task defining the destination of each of the communication paths.
[00108] In one example, the end point of each communication window can be detected by the communication requirement detection module 232, based on the identification as to the end point of the communication window the start point of the time frame of execution detected in a subsequent secondary processing period for the at least one division associated with the task that defines the source of each communication path.
[00109] In one example, the communication requirement detection module 232 can be arranged to detect the transmission time pyro along each detected communication path, based on the processing of the bit size of the data message to be transmitted along the respective communication path detected and the network properties extracted from one or more X4 configuration file associated with the system timing. The worst case of transmission time along the communication paths can be used by subtracting the worst case of transmission time from the communication time window in order to provide a communication window, compensated by propagation delay on at least one network 2 .
[00110] In one example, the additional communication requirements can be processed by the communication requirement detection module 232.The additional communication requirement can, for example, be related to the maximum point-to-point communication delay. The maximum delay of point-to-point communication can, for example, be related to a maximum amount of time allowed for a value associated with the recovery of a value from a sensor to be imported and subsequently processed by one or more tasks for communication to a trigger.
[00111] As an example, the first node S1 can be arranged to host the first division 50 with the first associated application 51 with the first associated task 53 and the second application 53 with the third associated task 56. The second node S2 can be arranged to host the second division 60 with the third associated application 61 with the fourth associated task 62. The first task 53 and the fourth task 62 can be associated with a processing period of 52 ms corresponding to a frequency of 40 Hz. The third task 56 can be associated with a processing period of 50 ms for a frequency of 20 Hz. A first communication path may have provided from the configuration data module 231 the detection of the first communication path as a result of the first task 53 associated with the export of the first data variable for subsequent import by the fourth task 62. The main processing period can be detected by the LCM computation of the processing periods associated with the first task 53, third task 56 and fourth task 62 resulting in the main processing period 110 of 50 ms. A first start point T11 of the first division 50 in a first secondary processing period 125 of the main processing period 110 and a second start point T12 of the first division 50 in a second secondary processing period 126 of a main processing period 110 it can be detected based on the processing order of one or more divisions to be hosted on the first node S1. A first endpoint T21 of the first division 50 in the first secondary processing period 125 of the main processing period 110 can be detected based on the first starting point T11 and the sum of the WCET of the first 53 and the third task 56. A first start point T31 of the first division60 in the second secondary processing period 126 of a main processing period 110 can be detected in the processing order of one or more divisions to be hosted in the second node S2. A communication window associated with the first communication path can then either be detected by the communication requirement detection module 232 between the end point T21 of the first division 40 to the start point T12 of the first division 50 in a secondary processing period subsequent 126 corresponding to the first communication window CW1 or between the end point T21 of the first division 50 to the start point T32 of the second division 60 corresponding to a second communication window CW2.
[00112] In one example, the number of additional modules may comprise a programming module 245 arranged to allocate communication of data messages M1, M2 to the communication time slots based on the processing information related to the communication time window detected associated with each detected communication path and the protocol associated with at least one network 2.
[00113] In one example, programming module 245 may be arranged to allocate communication of data messages M1, M2 in at least one of the plurality of communication time slots SL1, SI2 based on at least one associated communication window to the communication of each of the data messages M1, M2 along each detected communication path.
[00114] The programming module 245 can be arranged to allocate communication of data messages M1, M2 based on the detection of the communication windows that define end points within each secondary bus period associated with the main processing period 110.
[00115] The programming module 245 can be arranged to start the communication allocation of the M1, M2 data messages in order from the secondary bus period in the main bus period and back to the secondary bus period. The programming module 245 can be arranged to allocate the data message in the communication time slots SL1, SI2 as late as possible within each secondary bus period based on the requirements determined from the communication window termination points that define the end points within the respective secondary bus period.
[00116] In one example, programming module 245 may be arranged to control when the communication allocation of each data message in one of the communication time slots that each allocation meets the network protocol and hardware restrictions, such as , for example, that data payload, that is, the bit size available in the communication time slot and that the communication time slot is not allocated in an internal frame or synchronization frame interval.
[00117] As an example related to a case where the main bus period 110 comprises a sequence of a first secondary bus period 125 with the first set of associated communication time slots comprising six communication time slots SL1 to SL6 and a second secondary bus period 126 with a set of associated communication time slots comprising six communication time slots SL6 to SL12. The programming module 245 can start allocating communication of data messages associated with the detected communication windows CW1, CW2 defining end points in the second secondary bus period 126. The programming module 245 can then allocate communication of data messages associated with the windows detected communication points defining the end points in the first secondary bus period 126 with a first associated set SL1- SL6 of communication time slots. Programming module 245 can allocate data message communication associated with the first CW1 communication window to a sixth SL6 communication time slot or a fifth SL5 communication time slot associated with the first set of time slots of communication SL1 to SL6.
[00118] If the programming module 245 fails to provide a set of data message allocations for the communication time slots according to the detected communication time windows, the configuration files associated with the system timing and / or node assignment can be notified by an automatic or manual procedure to provide means for the programming module 245 to provide a set of data message allocations for the communication time slots according to the detected communication time windows.
[00119] In one example, the programming module 245 can be arranged to perform various optimization procedures when allocating data message communication in the plurality of communication time slots. For example, several data messages M1, M2 can be merged into one of the plurality of communication time slots SL1, SL12, in order to optimize network usage, based on information related to the detected communication time windows, the size of data bit detected for each data message and network properties related to the bandwidth extracted from the XI configuration file associated with the hardware system.
[00120] As a result of the operations of the 245 programming module, a bus schedule can be automatically generated offline for each of the nodes S1 to S4 as a static description within a main bus period that is repeated periodically. The bus schedule is statically determined, that is, predetermined from the allocation of one or more data messages M1, M2 to a plurality of communication time slots SL1, SL12 when each of the one or more data messages M1 , M2 is sent on network 2. It is also predetermined that to one or more data messages that comprise each or more data variables. Bus scheduling can be generated for a predetermined avionics computer system distributed based on configuration files that comprise configuration data associated with hardware and software configuration.
[00121] In an example, the programming module 245 can generate one or more configuration files associated with a system programming for each of the nodes S1, S4.
[00122] In one example, the number of additional modules may comprise a data message packet module 240 arranged to provide packaging and / or unpacking instructions based on processing the bit size of the data messages provided from the message module 235, the one or more X31, X32 configuration files associated with the data messages and one or more X51, X52 configuration files associated with the applications. As an example, the packaging and / or unpacking instructions can relate to which of one or more data variables to provide one or more M1, M2 data messages from which of one or more applications and how. The packaging and / or unpacking instructions can also relate to which of one or more data variables to extract from one or more M1, M2 data messages to which of one or more applications and how.
[00123] In one example, the data message package module 240 can be based on one or more configuration files X31, X32 associated with the data messages and the one or more configuration files associated with the X51, X52 applications detect a need to convert data types between different programming languages such as, for example, between a first C ++ data type associated with a first application and a second data type declared in ADA associated with a second application.
[00124] In one example, the number of additional modules may comprise a configuration data generation module 250 arranged to provide machine-readable configuration data SC1 to SC3 associated with connectivity, based on the processing data of the package module of message 240 and the one or more configuration files associated with a system programming provided from programming module 245. Machine-readable configuration data SC1 to SC3 associated with connectivity can comprise instructions related to I / O traffic to control the various mechanisms I / O arranged to operate within a distributed avionics computer system such as, for example, at least one I / O division or dedicated I / O processing device associated with each of the nodes S1 to S4.
[00125] In one example, machine-readable configuration data SC1 to SC3 can separate machine-readable configuration data, such as, for example, first machine-readable configuration data SC1 associated with the first node S1, second configuration data machine readable SC2 associated with the second node S2 and third machine readable configuration data SC3 associated with the third node S3.
[00126] Machine-readable configuration data associated with connectivity can be stored in one or more portions of memory 3 or one or more additional memories associated with each node S1 to S4. Modifications of or additions to the configuration data associated with connectivity can be sent to the respective memory 3 of nodes S1 to S4 during the design, operation or maintenance of the system.
[00127] As an example, the instructions related to I / O traffic to control various I / O mechanisms can comprise instructions on which data port to retrieve data variables, how to convert data variables arranged to be exported from the first recorded application to ADA hosted on a first S1 node to a format suitable for transmission on at least one network 2 in a predetermined time slot of, for example, programming of the TDMA type repeating periodically and how to convert data from data variables for import via at least one second data port for a second application written in C ++ hosted on a second S2 node.
[00128] In one example, the operational tools comprise additional modules arranged to process the configuration files provided in the configuration file module 210 to provide additional machine-readable configuration data associated with the data switches associated with at least one network and / or at least one RTOS, such as, for example, a CDM 40 associated with each of the nodes S1 to S4.
[00129] In one example, modification of the configuration of the distributed avionics computer system related to a specific application can be performed with respect to providing an additional data variable to be imported from an existing data message. This modification involves modifying the configuration file related to the application to be modified. Therefore, the process of adding the data variable to be imported into an application involves modifying a single configuration file, associated with the specific application.
[00130] In one example, modification of the configuration of the distributed avionics computer system for a specific application can be performed related to the provision of an additional data variable to be imported from an existing data message and to provide a variable of additional data to be exported from an application to an existing data message. This modification involves modifying the configuration file associated with the application to be modified, the configuration file associated with the respective data message associated with the additional data variable to be exported and possibly the one or more configuration file associated with applications to be configured for import the additional data variable.
[00131] In one example, in a case in which message module 235 added the size and extra code bit to that of the data bit sizes associated with data messages M1, M2 and in which the programming module 245 executed processing to provide the one or more configuration files associated with a system schedule based on the bit size of extra-associated code, modification of one or more configuration files X31, X32 associated with data messages and / or the one or more configuration files X51, X52 associated with the applications without processing the modified configuration files in the programming module 245. The modified configuration files can then be processed by the data message package module 240 to provide modified information for the configuration data generation module 250 to provide modified machine-readable configuration data SC1 to SC3 associated with connectivity. Where modified machine-readable configuration data SC1 to SC3 is provided based on the modified configuration files from the data message package module 240 and unmodified configuration files of the programming module 245.
[00132] In one example, the operational tools comprise a non-volatile memory, a data processing device such as a microprocessor and a read / write memory. Non-volatile memory has a first portion of memory in which a computer program, such as an operating system, is stored to configure simultaneous table-driven operations of the distributed avionics computer system. In addition, the operational tools comprise a bus controller, a serial communication port, an I / O device, an A / D converter, a time data road and transmission unit, an event counter and an interrupt controller. Non-volatile memory can also be a second portion of memory.
[00133] A computer program is provided comprising routines to configure simultaneous operations directed by table of the distributed avionics computer system. The program can be stored in an executable manner in a condensed state in a separate memory and / or in the read / write memory.
[00134] When it is declared that the processing device performs a certain function, it must be understood that the data processing device executes a certain part of the program that is stored in separate memory, or a certain part of the program that is stored in memory read / write.
[00135] The data processing device can communicate with a data port through a first data bus.
[00136] The non-volatile memory is adapted to communicate with the data processing device via a second data bus.
[00137] The separate memory is adapted to communicate with the data processing device via a third data bus.
[00138] The read / write memory is adapted to communicate with the data processing device via a fourth data bus.
[00139] When data is received at the data port, it is temporarily received in the second portion of memory. When the input data received has been temporarily stored, the data processing device is installed to execute code in a manner described above. According to an example, the data received at the data port comprises information related to the hardware and software configuration of the distributed avionics computer system. The information received at the data port can comprise the set of configuration files X1, X2; X31, X32; X4 and X51, X52. This information can be used to provide configuration data by the operational tools to configure simultaneous table-driven operations of nodes S1 to S4 interconnected to network 2, as described above.
[00140] An example of the invention relates to a computer program that comprises a program code to perform the steps of the method described with reference to figure 10, when the computer program is running on a computer.
[00141] An example of the invention relates to a computer program product comprising a program code stored in computer readable to perform the steps of the method described with reference to figure 10, when the computer program is running on the computer.
[00142] An example of the invention relates to a computer program product directly storable in an internal memory of a computer, comprising a processing period to perform the steps of the method described with reference to figure 10, when the processing period is running on the computer.
[00143] Figure 10 schematically illustrates a flow chart of a method according to an example of the present invention. This example refers to simultaneous table-driven operations of a distributed avionics control system comprising a plurality of processing nodes S1 to S4 interconnected in a network 2.
[00144] In a first step of method S110 that provides system characteristics is performed, that is, the set of configuration files X1, X2; X31, X32, X4 and X51, X52 is provided with configuration information associated with the set of applications and hardware associated with the distributed avionics computer system. After the method step S1, a subsequent method step S120 is performed.
[00145] In method step S120, communication paths are detected. This means that the operational tools process the set of configuration files to detect data paths between the associated tasks for different applications hosted on different nodes S1 to S4 willing to exchange data variables. After method step S120, a subsequent method step 130 is performed.
[00146] In method step S130, the communication requirements are detected along each detected communication path. This means that a communication window is detected, repeating periodically, defining a time structure for when a data message comprising at least one Data variable can be programmed for transmission along each communication path detected via at least one network 2. After the method step S130, a subsequent method step S140 is performed.
[00147] In method step S140 the data messages are allocated in a plurality of time slots. The data messages can be statistically allocated to a plurality of time slots in a TDMA protocol comprising a plurality of time slots defined within a main communication time frame based on the detected communication window for each of the data messages, method step that the TDMA protocol is associated with at least one network 2. After method step S140, a subsequent method step S150 is performed.
[00148] In method step S150, a system configuration is generated. The system configuration is generated based on the allocation of data messages in a plurality of time slots and related to the configuration data associated with the communication. The system configuration can be generated as separate configuration data for each system node S1 through S4. After the method step S150, a subsequent method step S160 is performed in the illustrated example.
[00149] In method step S160 the system configuration is provided for the distributed avionics computer system to provide simultaneous table-driven operations. After the S160 method step, the method can end. In one example, the method can be repeated starting with method step S110 to perform a new configuration or a modified configuration based on the hardware and / or software modification associated with the distributed avionics computer system.
[00150] Many modifications and variations will be clear to those skilled in the art without departing from the scope of the invention as defined in the attached method step claims. The examples were chosen and described to better explain the principles of the invention and their practical applications, thereby enabling others skilled in the art to understand the invention by several examples and with various modifications as appropriate for the specific use contemplated.
权利要求:
Claims (13)
[0001]
1. Method for simultaneous table-driven operations of a distributed avionics control system, the method is characterized by comprising the steps of: -providing a global timing configuration file (X4), comprising information from a set of processing periods periodically global repetition of predetermined system, and a plurality of communication time slots (SI1, SL2); -providing a plurality of application configuration file (X51, X52), comprising association of information for each of a plurality of applications (51, 52, 61) with at least one processing subcomponent (53, 55, 56, 62, 63 ), where at least one processing subcomponent is associated with at least one data unit to be periodically imported into at least one processing subcomponent or exported from at least one processing subcomponent and a processing period identified from the set of processing periods global predetermined system repetition of the global timing configuration file; -provide a node assignment configuration file (X2), comprising information identifying the assignment of each of the plurality of applications to a plurality of processing nodes (S1 to S4) interconnected in a network (2), in which the plurality of nodes processing (S1 to S4) is arranged to perform a plurality of applications (51,52,61), and the at least one processing component (53, 55, 56, 62, 63) associated with each of the plurality of applications; -detect data communication paths (S120), based on the information in the node assignment configuration file and the plurality of application configuration files in order to detect a plurality of communication paths formed between at least one associated first subcomponent at least one first data unit, to be exported periodically and at least one processing subcomponent associated with an application other than that of the first processing subcomponent, wherein said at least first unit is intended to be periodically imported into said second processing subcomponent ; -detect communication requirements (S130), associated with the delay limitations along the detected communication paths, based on processing information from the plurality of application configuration files and information on the communication paths of the detected data related to the processing period associated with the processing subcomponents, formed data communication paths, in order to detect a periodic communication window (CW1, CW2) for at least one data message comprising at least one data unit to be periodically exported by at least one processing subcomponent associated with each of the plurality of applications along each of the plurality of detected communication paths; -generate a system programming configuration file (S150), by allocating for the plurality of communication time slots (SL1 to SL12), as defined by the global system timing configuration file, communication of at least one message data (M1, M2), based on information on the detected communication requirements related to at least one detected communication time window along each of the detected communication paths, -generate system configuration data based on information from the data file system programming configuration, said generation comprising providing system tables associated with each of the plurality of processing nodes (S1 to S4), each system table comprising a network communication schedule, and providing system configuration data for the plurality of processing nodes (S1 to S4) of the distributed avionics control system, and periodically and based on the configuration data of and system provided, at least one among importing or exporting, through the processing nodes (S1 to S4), to at least one data unit for or from at least one processing subcomponent.
[0002]
2. Method according to claim 1, characterized by the fact that the step of providing a plurality of application configuration files provides information in the worst case of processing time associated with each of at least one processing subcomponent and in which the step of providing a node assignment configuration file comprises the steps of providing information identifying at least one division assigned to each of the plurality of processing nodes and assigning each of the plurality of applications to one of the at least one division.
[0003]
3. Method according to claim 1 or 2, characterized by the fact that the set of predetermined periodic repetition processing periods comprises a fundamental periodic repetition processing period (125) and integer multiples of the periodic repetition processing period fundamental.
[0004]
4. Method according to claim 3, characterized by the fact that it also comprises the step of detecting a split processing time structure for each of the at least one split associated with each of the plurality of processing nodes (S1 to S4) , based on the processing of the worst case of processing time of the processing subcomponent, associated via the application configuration file for at least one division, where the division processing time structure statically defines a start time and a downtime within each periodically fundamental repetition processing period and in which the processing subcomponents are arranged to be processed in a monotonic rate order within the associated division.
[0005]
5. Method, according to claim 4, characterized by the fact that the step of generating a system programming configuration file comprises processing the periodic communication window along each of the plurality of detected communication paths, in order to statically allocate at least one data message to at least one of the plurality of communication time slots, over a main repetition processing period (110) defined by the least common multiple of the set of periodically predetermined repetition processing periods, with based on the breakdown time of the split and the processing period of the at least first processing subcomponent having associated at least the first data unit to be periodically exported, or the split start time of at least the second processing subcomponent having associated said first data unit to be imported or the split start time in a period of time subsequent periodically fundamental repetition cessation of at least the first processing subcomponent.
[0006]
6. Method according to any of claims 1 to 5, characterized by the fact that it also comprises the steps of: providing a system hardware topology configuration file (XI), comprising identification of information from the processing nodes (S1 to S4) and network connections between said processing nodes (S1 to S4); and where the step of detecting data communication paths also comprises processing the system hardware topology (XI) configuration file in order to generate routing data for each detected communication path.
[0007]
7. Method according to claim 1, characterized by the fact that it also comprises the step of: providing a data message configuration file (X31, X32), each comprising information identifying at least one data message and one associated number of data message subcomponents, each associated via the plurality of application configuration files for one of at least one data unit to be exported or imported periodically, associated with at least one processing subcomponent; and wherein the at least one data message configuration file also comprises information identifying a data type associated with each of the number of data message subcomponents.
[0008]
8. Method according to claim 7, characterized by the fact that it also comprises the step of: detecting a data message bit size for each of the at least one data message, based on the processing of the at least one component of data message metadata; and the step of generating a system programming configuration file is also based on the detected data message bit size of each of at least one data message.
[0009]
9. Method according to claim 8, characterized by the fact that it also comprises the step of: detecting format conversion data, based on the processing of at least one data message configuration file and the bit size of detected data for each of at least one data message; and wherein the step of generating a system configuration is also based on the format conversion data detected in order to provide format conversion instructions related to the packaging and / or unpacking of at least one data message.
[0010]
Method according to any of claims 7 to 9, characterized in that it also comprises the step of: adding an extra bit code size to the detected bit size of each of the data messages before executing the step to generate a system programming configuration file; and in which the modification of a parameter of one of the plurality of application configuration files after having performed the step of generating a system programming metadata component takes an additional unit of data to be imported by at least one associated processing subcomponent without perform a renewed step of generating a system programming configuration file.
[0011]
11. Method according to any one of claims 1 to 10, characterized by the fact that the modification of a parameter associated with one of the plurality of application configuration files causes the associated application to move to a different processing node ( S1 to S4) without modifying the associated application.
[0012]
12. Method according to any one of claims 1 to 11, characterized by the fact that at least one of the associated steps for providing metadata components comprises providing information in a general markup language file format.
[0013]
13. Computer program characterized by the fact that it comprises a program code for executing the method steps as defined in any one of claims 1 to 12, when said computer program is running on a computer.
类似技术:
公开号 | 公开日 | 专利标题
BR112013000184B1|2020-11-24|METHOD FOR CONFIGURING A DISTRIBUTED AVIONIC CONTROL SYSTEM
Durrieu et al.2014|Predictable flight management system implementation on a multicore processor
EP2591419B1|2018-10-31|Simulating and testing avionics
US8543263B2|2013-09-24|Distributed avionics
US8694747B2|2014-04-08|Method and device for loading and executing instructions with deterministic cycles in a multicore avionic system having a bus of which the access time is not predictable
Vestal1997|MetaH support for real-time multi-processor avionics
Reinhardt et al.2013|Achieving a scalable e/e-architecture using autosar and virtualization
Pinello et al.2008|Fault-tolerant distributed deployment of embedded control software
EP2705426B1|2015-10-07|Configurable input/output processor
Bhat et al.2018|Recovery time considerations in real-time systems employing software fault tolerance
Mulmuley1991|Randomized multidimensional search trees: Further results in dynamic sampling
Islam et al.2006|Dependability driven integration of mixed criticality SW components
Lüttig et al.2018|A service provisioning layer enabling simplex-minded function development on integrated modular avionics hardware
Kadeed et al.2020|Safe Online Reconfiguration of Mixed-Criticality Real-Time Systems
Perez et al.2012|Modeling time-triggered architecture based real-time systems using systemc
Durrieu et al.2019|GRec: Automatic computation of reconfiguration graphs for multi-core platforms
Jakovljevic et al.2014|Embedded cloud computing for critical systems
Armentia et al.2014|Model driven design support for mixed-criticality distributed systems
Khalgui2013|Embedded Computing Systems: Applications, Optimization, and Advanced Design: Applications, Optimization, and Advanced Design
Karray et al.2013|Design and implementation of a degraded vision landing aid application on a multicore processor architecture for safety-critical application
Gala2021|Resource Management for Real-time and Mixed-Critical Systems
Klobedanz2014|Towards the design of fault-tolerant distributed real-time systems.
Lin et al.2019|Platform-Based Design for Automotive and Transportation Cyber-Physical Systems
Maśko et al.2013|Parallel event–driven simulation based on application global state monitoring
Siegrist2014|Computer Architecture Group, Computer Science Department, ABB Research Center, Baden, Switzerland
同族专利:
公开号 | 公开日
EP2591416A4|2014-08-13|
US20130159477A1|2013-06-20|
EP2591416A1|2013-05-15|
WO2012005637A1|2012-01-12|
IL223484A|2016-07-31|
US9172589B2|2015-10-27|
BR112013000184A2|2019-07-09|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题

US6567840B1|1999-05-14|2003-05-20|Honeywell Inc.|Task scheduling and message passing|
US7343622B1|2000-04-27|2008-03-11|Raytheon Company|Multi-level secure multi-processor computer architecture|
US7140022B2|2000-06-02|2006-11-21|Honeywell International Inc.|Method and apparatus for slack stealing with dynamic threads|
WO2003083600A2|2002-03-28|2003-10-09|Sap Aktiengesellschaft|Exchange infrastructure system and method|
EP1706820A2|2004-01-08|2006-10-04|Koninklijke Philips Electronics N.V.|Resource management in a multi-processor system|
US7320088B1|2004-12-28|2008-01-15|Veritas Operating Corporation|System and method to automate replication in a clustered environment|
US20060230339A1|2005-04-07|2006-10-12|Achanta Phani G V|System and method for high performance pre-parsed markup language|
FR2889329B1|2005-07-29|2007-10-19|Airbus France Sas|AUTOMATIC SEQUENCING METHOD OF THE SPECIFICATIONS OF A COMPUTER, IN PARTICULAR FOR AN AIRCRAFT|
FR2891069B1|2005-09-16|2007-11-09|Thales Sa|METHOD FOR MONITORING THE CORRECT FUNCTIONING OF A COMPUTER|
US8451860B2|2007-02-08|2013-05-28|The Boeing Company|Low-weight hybrid deterministic highspeed data bus|
US7688737B2|2007-03-05|2010-03-30|International Business Machines Corporation|Latency hiding message passing protocol|
US7684904B2|2007-06-27|2010-03-23|Arinc Incorporated|Systems and methods for communication, navigation, surveillance and sensor system integration in a vehicle|
US8291006B2|2008-05-30|2012-10-16|International Business Machines Corporation|Method for generating a distributed stream processing application|
DE102009025572A1|2009-06-19|2010-12-23|Wolfgang Pree Gmbh|A method for developing guaranteed real-time systems|US8989280B2|2011-06-30|2015-03-24|Cable Television Laboratories, Inc.|Frame identification|
US8875146B2|2011-08-01|2014-10-28|Honeywell International Inc.|Systems and methods for bounding processing times on multiple processing units|
US8621473B2|2011-08-01|2013-12-31|Honeywell International Inc.|Constrained rate monotonic analysis and scheduling|
FR2985977B1|2012-01-24|2015-01-23|Airbus Operations Sas|METHOD AND DEVICE FOR AIDING THE CONTROL OF AN AIRCRAFT DURING A LANDING PHASE.|
US9207977B2|2012-02-06|2015-12-08|Honeywell International Inc.|Systems and methods for task grouping on multi-processors|
KR101694305B1|2012-04-17|2017-01-09|한국전자통신연구원|Method and appratus for setting aeronautic system compatible with the arinc 653 standard|
FR2992445B1|2012-06-22|2014-07-04|Snecma|METHOD FOR SYNCHRONIZING ALGORITHM DATA OF ASYNCHRONOUS AIRCRAFT COMPUTERS|
US9612868B2|2012-10-31|2017-04-04|Honeywell International Inc.|Systems and methods generating inter-group and intra-group execution schedules for instruction entity allocation and scheduling on multi-processors|
US10819791B2|2013-10-11|2020-10-27|Ge Aviation Systems Llc|Data communications network for an aircraft|
US9811657B2|2014-06-06|2017-11-07|The Boeing Company|Security information for software parts|
US9405515B1|2015-02-04|2016-08-02|Rockwell Collins, Inc.|Computing systems utilizing controlled dynamic libraries and isolated execution spaces|
US9983902B2|2015-05-14|2018-05-29|General Electric Company|System and method for multi-level real-time scheduling analyses|
KR101630150B1|2015-06-05|2016-06-24|한국항공우주산업 주식회사|Method and system for updating setting of flight mounted device|
US10162787B1|2016-06-24|2018-12-25|Rockwell Collins, Inc.|Multicore safe PCIe solution|
US10558492B2|2016-10-07|2020-02-11|Raytheon Company|System and method for predicting the performance of a radar|
US11139992B1|2017-10-30|2021-10-05|Rockwell Collins, Inc.|Systems and methods for remotely powered data concentrators for distributed IMA system|
TWI653857B|2017-12-27|2019-03-11|中華電信股份有限公司|Method and system for topological operation|
法律状态:
2019-07-23| B06F| Objections, documents and/or translations needed after an examination request according art. 34 industrial property law|
2019-08-13| B06U| Preliminary requirement: requests with searches performed by other patent offices: suspension of the patent application procedure|
2020-08-04| B09A| Decision: intention to grant|
2020-11-24| B16A| Patent or certificate of addition of invention granted|Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 24/11/2020, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
申请号 | 申请日 | 专利标题
PCT/SE2010/050779|WO2012005637A1|2010-07-05|2010-07-05|Method for configuring a distributed avionics control system|
[返回顶部]